14. Quiz: Aliases for Multiple Window Functions
Shorten Your Window Function Queries by Aliasing
Window Function Alias
QUIZ QUESTION::
Using Derek's example in the previous window, deconstruct the window function alias into its two parts: the alias part and the window function part.
ANSWER CHOICES:
Part |
Query text |
---|---|
Alias part |
|
Window function part |
SOLUTION:
Part |
Query text |
---|---|
Alias part |
|
Window function part |
Now, create and use an alias to shorten the following query (which is different than the one in Derek's previous video) that has multiple window functions. Name the alias account_year_window
, which is more descriptive than main_window
in the example above.
SELECT id,
account_id,
DATE_TRUNC('year',occurred_at) AS year,
DENSE_RANK() OVER (PARTITION BY account_id ORDER BY DATE_TRUNC('year',occurred_at)) AS dense_rank,
total_amt_usd,
SUM(total_amt_usd) OVER (PARTITION BY account_id ORDER BY DATE_TRUNC('year',occurred_at)) AS sum_total_amt_usd,
COUNT(total_amt_usd) OVER (PARTITION BY account_id ORDER BY DATE_TRUNC('year',occurred_at)) AS count_total_amt_usd,
AVG(total_amt_usd) OVER (PARTITION BY account_id ORDER BY DATE_TRUNC('year',occurred_at)) AS avg_total_amt_usd,
MIN(total_amt_usd) OVER (PARTITION BY account_id ORDER BY DATE_TRUNC('year',occurred_at)) AS min_total_amt_usd,
MAX(total_amt_usd) OVER (PARTITION BY account_id ORDER BY DATE_TRUNC('year',occurred_at)) AS max_total_amt_usd
FROM orders
Code
If you need a code on the https://github.com/udacity.